package BlogMybatis.blog.service;

import BlogMybatis.blog.pojo.Blog;

import com.baomidou.mybatisplus.extension.service.IService;

import org.apache.ibatis.annotations.Param;


import java.util.List;


/**
 * <p>
 *  服务类
 * </p>
 *
 * @author Brandt
 * @since 2020-06-07
 */
public interface BlogService extends IService<Blog> {

    //查询后台所有的博客内容
    List<Blog> getAllBlog();

    //按条件查询博客
    List<Blog> searchAllBlog(Blog blog);

    //根据id获取blog内容，需要连表
    Blog getByBlog(@Param("id") Long id);

    //根据id修改博客
    int updateBlog(Blog blog);

    //博客首页展示
    List<Blog> getIndexBlog();

    //博客首页推荐展示
    List<Blog> getAllRecommendBlog();

    //根据某个博客id展示详情页面
    Blog getDetailedBlog(@Param("id") Long id);

    //浏览数
    int updateViews(Long id);

    //全局搜索博客
    List<Blog> getSearchBlog(@Param("query") String query);

    //底部最新博客推荐
    List<Blog>listBlogFooter();

    //首页根据分类id获取博客信息
    List<Blog> getByTypeId(Long typeId);

    //首页根据标签id获取博客信息
    List<Blog> getByTagId(Long tagId);

    //时间轴展示
    List<Blog> archiveShow();

}
